#!/usr/bin/env python
# @FileName :2024-04-08-python实现tree功能.py
# @Time :2024/4/8 16:40
# @Author :zhenglu

# 用python实现tree


import os
def print_tree(path, prefix=""):
    """
    递归打印目录树状结构
    :param path: 目录或文件路径
    :param prefix: 层级前缀
    """
    # 如果是文件，直接打印文件名
    if os.path.isfile(path):
        print(prefix + "- " + os.path.basename(path))
        # 如果是目录，递归打印目录内容
    elif os.path.isdir(path):
        print(prefix + "+ " + os.path.basename(path))  # 打印目录名
        # 遍历目录中的文件和子目录
        for item in os.listdir(path):
            # 将目录和文件名进行拼接，得到子项目的路径
            item_path = os.path.join(path, item)
            # 使用不同的前缀表示文件和子目录
            if os.path.isdir(item_path):
                print_tree(item_path, prefix=prefix + "  ")  # 两个空格作为缩进
            else:
                print_tree(item_path, prefix=prefix + "| ")  # 使用'|'表示文件与目录之间的层级关系


# 使用示例
print_tree("../2024-01-24-python-容器类型")